package cn.fl.customer.transform;

import java.util.ArrayList;
import java.util.List;
import cn.fl.customer.vo.FilFinanceDebtZxVO;
import cn.cmm.base.framework.utils.CollectionUtils;
import fl.customer.facade.customer.dto.FilFinanceDebtZxDTO;

/**
 * @Description: 事业单位资产负债表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class FilFinanceDebtZxVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto FilFinanceDebtZxDTO
	 * @return FilFinanceDebtZxVO
	 */
	public static FilFinanceDebtZxVO toVO(FilFinanceDebtZxDTO dto) {
		FilFinanceDebtZxVO  vo = null;
		if (dto != null) { 
			vo = new FilFinanceDebtZxVO();
			vo.setId(dto.getId());
			vo.setReportyear(dto.getReportyear());//报表年份
			vo.setReporttype(dto.getReporttype());//报表类型
			vo.setReportsubtype(dto.getReportsubtype());//报表类型细分
			vo.setOccurdate(dto.getOccurdate());//业务发生日期
			vo.setAuditfirm(dto.getAuditfirm());//审计事务所名称
			vo.setAuditor(dto.getAuditor());//审计人员名称
			vo.setAuditdate(dto.getAuditdate());//审计时间
			vo.setJ9271(dto.getJ9271());//现金
			vo.setJ9272(dto.getJ9272());//银行存款
			vo.setJ9273(dto.getJ9273());//应收票据
			vo.setJ9274(dto.getJ9274());//应收账款
			vo.setJ9275(dto.getJ9275());//预付账款
			vo.setJ9276(dto.getJ9276());//其他应收款
			vo.setJ9277(dto.getJ9277());//材料
			vo.setJ9278(dto.getJ9278());//产成品
			vo.setJ9279(dto.getJ9279());//对外投资
			vo.setJ9280(dto.getJ9280());//固定资产
			vo.setJ9281(dto.getJ9281());//无形资产
			vo.setJ9282(dto.getJ9282());//资产合计
			vo.setJ9283(dto.getJ9283());//拔出经费
			vo.setJ9284(dto.getJ9284());//拔出专款
			vo.setJ9285(dto.getJ9285());//专款支出
			vo.setJ9286(dto.getJ9286());//事业支出
			vo.setJ9287(dto.getJ9287());//经营支出
			vo.setJ9288(dto.getJ9288());//成本费用
			vo.setJ9289(dto.getJ9289());//销售税金
			vo.setJ9290(dto.getJ9290());//上缴上级支出
			vo.setJ9291(dto.getJ9291());//对附属单位补助
			vo.setJ9292(dto.getJ9292());//结转自筹基建
			vo.setJ9293(dto.getJ9293());//支出合计
			vo.setJ9294(dto.getJ9294());//资产部类总计
			vo.setJ9295(dto.getJ9295());//借记款项
			vo.setJ9296(dto.getJ9296());//应付票据
			vo.setJ9297(dto.getJ9297());//应付账款
			vo.setJ9298(dto.getJ9298());//预收帐款
			vo.setJ9299(dto.getJ9299());//其他应付款
			vo.setJ9300(dto.getJ9300());//应缴预算款
			vo.setJ9301(dto.getJ9301());//应缴财政专户款
			vo.setJ9302(dto.getJ9302());//应交税金
			vo.setJ9303(dto.getJ9303());//负债合计
			vo.setJ9304(dto.getJ9304());//事业基金
			vo.setJ9305(dto.getJ9305());//一般基金
			vo.setJ9306(dto.getJ9306());//投资基金
			vo.setJ9307(dto.getJ9307());//固定基金
			vo.setJ9308(dto.getJ9308());//专用基金
			vo.setJ9309(dto.getJ9309());//事业结余
			vo.setJ9310(dto.getJ9310());//经营结余
			vo.setJ9311(dto.getJ9311());//净资产合计
			vo.setJ9312(dto.getJ9312());//财政补助收入
			vo.setJ9313(dto.getJ9313());//上级补助收入
			vo.setJ9314(dto.getJ9314());//拔入专款
			vo.setJ9315(dto.getJ9315());//事业收入
			vo.setJ9316(dto.getJ9316());//经营收入
			vo.setJ9317(dto.getJ9317());//附属单位缴款
			vo.setJ9318(dto.getJ9318());//其他收入
			vo.setJ9319(dto.getJ9319());//收入合计
			vo.setJ9320(dto.getJ9320());//负债部类总计
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setCstId(dto.getCstId());//客户ID

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo FilFinanceDebtZxVO
	 * @return FilFinanceDebtZxDTO
	 */
	public static FilFinanceDebtZxDTO toDTO(FilFinanceDebtZxVO vo) {
		FilFinanceDebtZxDTO dto = null;
		if (vo != null) {
			dto = new FilFinanceDebtZxDTO();
			dto.setId(vo.getId());
			dto.setReportyear(vo.getReportyear());//报表年份
			dto.setReporttype(vo.getReporttype());//报表类型
			dto.setReportsubtype(vo.getReportsubtype());//报表类型细分
			dto.setOccurdate(vo.getOccurdate());//业务发生日期
			dto.setAuditfirm(vo.getAuditfirm());//审计事务所名称
			dto.setAuditor(vo.getAuditor());//审计人员名称
			dto.setAuditdate(vo.getAuditdate());//审计时间
			dto.setJ9271(vo.getJ9271());//现金
			dto.setJ9272(vo.getJ9272());//银行存款
			dto.setJ9273(vo.getJ9273());//应收票据
			dto.setJ9274(vo.getJ9274());//应收账款
			dto.setJ9275(vo.getJ9275());//预付账款
			dto.setJ9276(vo.getJ9276());//其他应收款
			dto.setJ9277(vo.getJ9277());//材料
			dto.setJ9278(vo.getJ9278());//产成品
			dto.setJ9279(vo.getJ9279());//对外投资
			dto.setJ9280(vo.getJ9280());//固定资产
			dto.setJ9281(vo.getJ9281());//无形资产
			dto.setJ9282(vo.getJ9282());//资产合计
			dto.setJ9283(vo.getJ9283());//拔出经费
			dto.setJ9284(vo.getJ9284());//拔出专款
			dto.setJ9285(vo.getJ9285());//专款支出
			dto.setJ9286(vo.getJ9286());//事业支出
			dto.setJ9287(vo.getJ9287());//经营支出
			dto.setJ9288(vo.getJ9288());//成本费用
			dto.setJ9289(vo.getJ9289());//销售税金
			dto.setJ9290(vo.getJ9290());//上缴上级支出
			dto.setJ9291(vo.getJ9291());//对附属单位补助
			dto.setJ9292(vo.getJ9292());//结转自筹基建
			dto.setJ9293(vo.getJ9293());//支出合计
			dto.setJ9294(vo.getJ9294());//资产部类总计
			dto.setJ9295(vo.getJ9295());//借记款项
			dto.setJ9296(vo.getJ9296());//应付票据
			dto.setJ9297(vo.getJ9297());//应付账款
			dto.setJ9298(vo.getJ9298());//预收帐款
			dto.setJ9299(vo.getJ9299());//其他应付款
			dto.setJ9300(vo.getJ9300());//应缴预算款
			dto.setJ9301(vo.getJ9301());//应缴财政专户款
			dto.setJ9302(vo.getJ9302());//应交税金
			dto.setJ9303(vo.getJ9303());//负债合计
			dto.setJ9304(vo.getJ9304());//事业基金
			dto.setJ9305(vo.getJ9305());//一般基金
			dto.setJ9306(vo.getJ9306());//投资基金
			dto.setJ9307(vo.getJ9307());//固定基金
			dto.setJ9308(vo.getJ9308());//专用基金
			dto.setJ9309(vo.getJ9309());//事业结余
			dto.setJ9310(vo.getJ9310());//经营结余
			dto.setJ9311(vo.getJ9311());//净资产合计
			dto.setJ9312(vo.getJ9312());//财政补助收入
			dto.setJ9313(vo.getJ9313());//上级补助收入
			dto.setJ9314(vo.getJ9314());//拔入专款
			dto.setJ9315(vo.getJ9315());//事业收入
			dto.setJ9316(vo.getJ9316());//经营收入
			dto.setJ9317(vo.getJ9317());//附属单位缴款
			dto.setJ9318(vo.getJ9318());//其他收入
			dto.setJ9319(vo.getJ9319());//收入合计
			dto.setJ9320(vo.getJ9320());//负债部类总计
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setCstId(vo.getCstId());//客户ID

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<FilFinanceDebtZxDTO>
	 * @return List<FilFinanceDebtZxVO>
	 */
	public static List<FilFinanceDebtZxVO> toVOList(List<FilFinanceDebtZxDTO> list) {
		List<FilFinanceDebtZxVO>  voList = new ArrayList<FilFinanceDebtZxVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (FilFinanceDebtZxDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<FilFinanceDebtZxVO>
	 * @return List<FilFinanceDebtZxDTO>
	 */
	public static List<FilFinanceDebtZxDTO> toDTOList(List<FilFinanceDebtZxVO> list) {
		List<FilFinanceDebtZxDTO>  dtoList = new ArrayList<FilFinanceDebtZxDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (FilFinanceDebtZxVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
